Java Technologies POM.xml কনফিগারেশন এবং Maven Surefire Plugin গাইড ও নোট

339

TestNG-কে Maven এর সাথে ব্যবহার করতে হলে, আপনাকে আপনার প্রকল্পের pom.xml ফাইলে কিছু কনফিগারেশন করতে হবে। এর মধ্যে Maven Surefire Plugin একটি গুরুত্বপূর্ণ ভূমিকা পালন করে, যা আপনার টেস্ট রান এবং রিপোর্ট জেনারেশন প্রক্রিয়া সহজ করে তোলে।


Maven এবং TestNG কনফিগারেশন

Maven একটি বিল্ড এবং ডিপেনডেন্সি ম্যানেজমেন্ট টুল, যা প্রকল্পে প্রয়োজনীয় লাইব্রেরি এবং টুলগুলির স্বয়ংক্রিয় ইনস্টলেশন এবং কনফিগারেশন পরিচালনা করে। TestNG-কে Maven এর সাথে ইন্টিগ্রেট করার জন্য pom.xml ফাইলে TestNG এর ডিপেনডেন্সি এবং Maven Surefire Plugin কনফিগার করতে হয়।


১. POM.xml ফাইলে TestNG ডিপেনডেন্সি

TestNG ডিপেনডেন্সি Maven প্রকল্পে যুক্ত করতে হয়, যাতে Maven নিজেই TestNG ফ্রেমওয়ার্কটি প্রকল্পে স্বয়ংক্রিয়ভাবে ডাউনলোড এবং ব্যবহারের জন্য প্রস্তুত করতে পারে।

<dependencies>
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>7.8.0</version>  <!-- TestNG এর বর্তমান সংস্করণ দিন -->
        <scope>test</scope>
    </dependency>
</dependencies>

এই ডিপেনডেন্সি লাইনে scope প্রপার্টি test দিয়ে চিহ্নিত করা হয়েছে, অর্থাৎ এটি শুধুমাত্র টেস্ট রানিংয়ের সময় প্রয়োজনীয় হবে।


২. Maven Surefire Plugin কনফিগারেশন

Maven Surefire Plugin হল একটি প্লাগইন যা Maven-এর মাধ্যমে টেস্ট রান করতে সাহায্য করে এবং TestNG, JUnit ইত্যাদি ফ্রেমওয়ার্কের সাথে কাজ করে। TestNG টেস্ট মেথড রান করতে হলে Maven Surefire Plugin-কে pom.xml ফাইলে কনফিগার করতে হবে।

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>3.0.0-M5</version> <!-- নিশ্চিত করুন যে আপনার সিস্টেমে সর্বশেষ সংস্করণ আছে -->
            <configuration>
                <suiteXmlFiles>
                    <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile> <!-- TestNG XML ফাইলের পথ -->
                </suiteXmlFiles>
            </configuration>
        </plugin>
    </plugins>
</build>

এখানে suiteXmlFiles প্রপার্টির মাধ্যমে TestNG XML ফাইলের পথ উল্লেখ করা হয়েছে, যাতে Maven জানে কোন TestNG স্যুট ফাইলটি রান করতে হবে। সাধারণত src/test/resources ফোল্ডারে এই XML ফাইল রাখা হয়।


৩. TestNG XML কনফিগারেশন

TestNG XML ফাইলের মাধ্যমে আপনি টেস্ট স্যুট, টেস্ট, এবং ক্লাস কনফিগার করতে পারেন। pom.xml-এ Maven Surefire Plugin-এর মধ্যে XML ফাইলের পথ উল্লেখ করার পর, Maven এই XML ফাইলটি ব্যবহার করে টেস্ট রান করবে।

testng.xml ফাইলের উদাহরণ:

<?xml version="1.0" encoding="UTF-8"?>
<suite name="TestNG Suite">
    <test name="TestNG Test">
        <classes>
            <class name="com.example.TestClass"/>
        </classes>
    </test>
</suite>

এখানে com.example.TestClass হচ্ছে আপনার TestNG টেস্ট ক্লাসের নাম।


৪. Maven দ্বারা TestNG টেস্ট রান করা

TestNG টেস্ট মেথড রান করতে Maven কমান্ড ব্যবহার করা যায়। যদি আপনি mvn test কমান্ড ব্যবহার করেন, Maven স্বয়ংক্রিয়ভাবে maven-surefire-plugin রান করবে এবং TestNG টেস্ট স্যুট চালাবে।

রান করার কমান্ড:

mvn test

এটি আপনার TestNG XML ফাইল অনুযায়ী টেস্ট চালাবে এবং test-output ফোল্ডারে রিপোর্ট তৈরি করবে।


Maven Surefire Plugin কনফিগারেশনের অতিরিক্ত অপশন

Maven Surefire Plugin আরও অনেক কনফিগারেশন অপশন সরবরাহ করে, যা টেস্ট রানিং এর গতিপ্রকৃতিকে কাস্টমাইজ করতে সাহায্য করে।

উদাহরণ ১: টেস্ট রান করা নির্দিষ্ট গ্রুপের জন্য

<configuration>
    <groups>sanity</groups>  <!-- নির্দিষ্ট গ্রুপ চালানো -->
</configuration>

উদাহরণ ২: প্যারালাল টেস্টিং সক্ষম করা

<configuration>
    <parallel>methods</parallel>  <!-- টেস্ট মেথডগুলিকে প্যারালালভাবে চালানো -->
    <threadCount>4</threadCount>  <!-- ৪টি থ্রেডে টেস্ট চালানো -->
</configuration>

৫. Maven এবং TestNG এর সাথে রিপোর্টিং

Maven Surefire Plugin টেস্ট রান শেষ হলে রিপোর্ট উৎপন্ন করে। এই রিপোর্টটি test-output ফোল্ডারে থাকে, যেখানে HTML এবং XML রিপোর্ট ফাইল থাকে।

HTML রিপোর্ট:

test-output/index.html ফাইলটি একটি সুন্দর এবং ব্যবহারকারী-বান্ধব HTML ফরম্যাটে রিপোর্ট প্রদান করে।

XML রিপোর্ট:

test-output/testng-results.xml ফাইলটি একটি XML রিপোর্ট সরবরাহ করে, যা পরে ব্যবহার করা যেতে পারে।


সারাংশ

TestNG এবং Maven এর সমন্বয়ে আপনি সহজেই টেস্টিং কার্যক্রম পরিচালনা করতে পারেন। pom.xml ফাইলে TestNG ডিপেনডেন্সি এবং Maven Surefire Plugin কনফিগার করার মাধ্যমে TestNG টেস্ট চালানো এবং রিপোর্টিং প্রক্রিয়া সহজ ও স্বয়ংক্রিয় করা যায়। Maven এবং TestNG-এর এই ইন্টিগ্রেশন নিশ্চিত করে যে আপনার টেস্ট রান এবং রিপোর্টিং কার্যক্রম আরো দ্রুত এবং কার্যকরী হবে।

Content added By
Promotion

Are you sure to start over?

Loading...